<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title>Document</title>
</head>
<body>
<script type="text/javascript">
/*
	网址:http://www.jianshu.com/p/996671d4dcc4
	1:堆栈
	栈(stack):先进后出,后进先出;类比:用盒子装乒乓球,最先放进去的那个最后取出,同理,最后放进去的那个,最先取出,只有一端对数据的删除和插入
	堆(堆):类比书架上的书,书虽然也整齐的存放在书架上，但是我们只要知道书的名字，我们就可以很方便的取出我们想要的书，而不用像从乒乓球盒子里取乒乓一样，非得将上面的所有乒乓球拿出来才能取到中间的某一个乒乓球。好比在JSON格式的数据中，我们存储的key-value是可以无序的，因为顺序的不同并不影响我们的使用，我们只需要关心书的名字。
	2:变量对象和基础数据类型
	执行上下文生成后会创建一个叫做变量对象的特殊对象
	js中的基础类型变量，都是存放在变量对象中(堆内存)，并不是存放在栈内存中。
	3:引用数据类型和堆内存
	引用数据类型的值是保存在堆内存的对象,JavaScript不能直接访问堆内存中的位置,因此不能直接操作堆内存的对象空间.在操作对象的时候,是在操作对象的引用而不是实际对象,引用类型的值都是按引用访问的
	因此当我们要访问堆内存中的引用数据类型时，实际上我们首先是从变量对象中获取了该对象的地址引用（或者地址指针），然后再从堆内存中取得我们需要的数据。
*/
</script>
</body>
</html>
